﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class SyydistusPunkt : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISyydistusPunkt {
        
        private System.Int64? @__objektID;
        
        private System.Int64? @__lahendKL;
        
        private System.DateTime? @__lahendiKP;
        
        private System.DateTime? @__algusKP;
        
        private System.DateTime? @__loppKP;
        
        private global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISyyteosyndmus @__syyteosyndmus;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKvalifikatsiooniParagrahv> @__kvalifikatsiooniParagrahvid = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKvalifikatsiooniParagrahv>();
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISanktsioon> @__seotudKaristused = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISanktsioon>();
        
        private System.DateTime? @__sulgemiseKP;
        
        private string @__syydistusPunktCSV;
        
        private string @__klientsysteemiID;
        
        public SyydistusPunkt() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public SyydistusPunkt(System.Int64? @objektID, System.Int64? @lahendKL, System.DateTime? @lahendiKP, System.DateTime? @algusKP, System.DateTime? @loppKP, global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISyyteosyndmus @syyteosyndmus, System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKvalifikatsiooniParagrahv> @kvalifikatsiooniParagrahvid, System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISanktsioon> @seotudKaristused, System.DateTime? @sulgemiseKP, string @syydistusPunktCSV, string @klientsysteemiID) {
            this.@__objektID = @objektID;
            this.@__lahendKL = @lahendKL;
            this.@__lahendiKP = @lahendiKP;
            this.@__algusKP = @algusKP;
            this.@__loppKP = @loppKP;
            this.@__syyteosyndmus = @syyteosyndmus;
            this.@__kvalifikatsiooniParagrahvid = @kvalifikatsiooniParagrahvid;
            this.@__seotudKaristused = @seotudKaristused;
            this.@__sulgemiseKP = @sulgemiseKP;
            this.@__syydistusPunktCSV = @syydistusPunktCSV;
            this.@__klientsysteemiID = @klientsysteemiID;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected SyydistusPunkt(ISyydistusPunkt @syydistusPunkt) {
            this.@__objektID = @syydistusPunkt.ObjektID;
            this.@__lahendKL = @syydistusPunkt.LahendKL;
            this.@__lahendiKP = @syydistusPunkt.LahendiKP;
            this.@__algusKP = @syydistusPunkt.AlgusKP;
            this.@__loppKP = @syydistusPunkt.LoppKP;
            this.@__syyteosyndmus = @syydistusPunkt.Syyteosyndmus;
            this.@__kvalifikatsiooniParagrahvid = @syydistusPunkt.KvalifikatsiooniParagrahvid;
            this.@__seotudKaristused = @syydistusPunkt.SeotudKaristused;
            this.@__sulgemiseKP = @syydistusPunkt.SulgemiseKP;
            this.@__syydistusPunktCSV = @syydistusPunkt.SyydistusPunktCSV;
            this.@__klientsysteemiID = @syydistusPunkt.KlientsysteemiID;
        }
        
        public virtual System.Int64? ObjektID {
            get {
                return this.@__objektID;
            }
            set {
                this.@__objektID = value;
            }
        }
        
        public virtual System.Int64? LahendKL {
            get {
                return this.@__lahendKL;
            }
            set {
                this.@__lahendKL = value;
            }
        }
        
        public virtual System.DateTime? LahendiKP {
            get {
                return this.@__lahendiKP;
            }
            set {
                this.@__lahendiKP = value;
            }
        }
        
        public virtual System.DateTime? AlgusKP {
            get {
                return this.@__algusKP;
            }
            set {
                this.@__algusKP = value;
            }
        }
        
        public virtual System.DateTime? LoppKP {
            get {
                return this.@__loppKP;
            }
            set {
                this.@__loppKP = value;
            }
        }
        
        public virtual global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISyyteosyndmus Syyteosyndmus {
            get {
                return this.@__syyteosyndmus;
            }
            set {
                this.@__syyteosyndmus = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKvalifikatsiooniParagrahv> KvalifikatsiooniParagrahvid {
            get {
                return this.@__kvalifikatsiooniParagrahvid;
            }
            set {
                this.@__kvalifikatsiooniParagrahvid = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISanktsioon> SeotudKaristused {
            get {
                return this.@__seotudKaristused;
            }
            set {
                this.@__seotudKaristused = value;
            }
        }
        
        public virtual System.DateTime? SulgemiseKP {
            get {
                return this.@__sulgemiseKP;
            }
            set {
                this.@__sulgemiseKP = value;
            }
        }
        
        public virtual string SyydistusPunktCSV {
            get {
                return this.@__syydistusPunktCSV;
            }
            set {
                this.@__syydistusPunktCSV = value;
            }
        }
        
        public virtual string KlientsysteemiID {
            get {
                return this.@__klientsysteemiID;
            }
            set {
                this.@__klientsysteemiID = value;
            }
        }
    }
}
